package com.fy.fyspace.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 图片
 * </p>
 *
 * @author fwq
 * @since 2025-06-25
 */
@Getter
@Setter
@TableName("favoritepicture")
@Schema(name = "Favoritepicture", description = "$!{table.comment}")
public class FavoritePicture implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Schema(description = "原图片ID")
    @TableField("picId")
    private Long picId;

    @Schema(description = "收藏者的用户ID")
    @TableField("favoriteUserId")
    private Long favoriteUserId;

    @Schema(description = "图片url")
    @TableField("url")
    private String url;

    @Schema(description = "图片名称")
    @TableField("name")
    private String name;

    @Schema(description = "简介")
    @TableField("introduction")
    private String introduction;

    @Schema(description = "分类")
    @TableField("category")
    private String category;

    @Schema(description = "标签（JSON 数组）")
    @TableField("tags")
    private String tags;

    @Schema(description = "图片体积")
    @TableField("picSize")
    private Long picSize;

    @Schema(description = "图片宽度")
    @TableField("picWidth")
    private Integer picWidth;

    @Schema(description = "图片高度")
    @TableField("picHeight")
    private Integer picHeight;

    @Schema(description = "图片宽高比例")
    @TableField("picScale")
    private Double picScale;

    @Schema(description = "图片格式")
    @TableField("picFormat")
    private String picFormat;

    @Schema(description = "创建用户ID")
    @TableField("createUserId")
    private Long createUserId;

    @Schema(description = "创建时间")
    @TableField("createTime")
    private Date createTime;

    @Schema(description = "编辑时间")
    @TableField("editTime")
    private Date editTime;

    @Schema(description = "更新时间")
    @TableField("updateTime")
    private Date updateTime;

    @Schema(description = "是否删除")
    @TableField("isDelete")
    private Integer isDelete;

    @Schema(description = "缩略图 url")
    @TableField("thumbnailUrl")
    private String thumbnailUrl;

    @Schema(description = "图片大小 单位 Bit")
    @TableField("fileSize")
    private Long fileSize;

    @Schema(description = "分辨率")
    @TableField("megapixels")
    private Double megapixels;

    @Schema(description = "图片颜色")
    @TableField("picColor")
    private String picColor;
}
